VB里的一个循环语句`初学者`高手指教下`

来源:百度知道 编辑:UC知道 时间:2024/06/03 19:58:35
private sub command1_click()
dim err as double
dim m_result as double
dim n as intege
dim m_multiply as long

m_result=1
n=1
err=val(text1.text)

if (err<0.0000001) then
msgbox ("精度要求太高,计算不能进行")
exit sub
end if
do while 1/m_multiply> err
m_result = m_result+1/m_multiply
n= n+1 '这个地方
m_multiply =m_multiply * n '这个地方
loop
text2.text=m_result
end sub

小弟想知道我标注的地方的意思`麻烦大虾讲解下`我会很感激```
题目是用近似值求解``我想知道m_multiply=m_multiply*n 是什么意思``我很费解
1+1/1+1/2+1/3+1/4......1/n=ERR

这个程序难道不是分母一次一次加1么``若_multiply=2了 n=n+1 那么m_multiply=m_multiply*n 不就变成 m_multiply=2 *3 了么`
那么在循环判断过去```m_result=m_result+ 1/m_multiply不就成了m_result=m_result+1/6了么`中间的 1/3 1/4 1/5 都不用加了么

已经加过了,n= n+1表示n在原有的基础上再加1。m_multiply =m_multiply * n表示m_multiply 在它原有的基础上再乘以n。
你想,假如刚开始的时候m_multiply =1,n=1,则m_multiply =m_multiply * n以后,m_multiply =1;第二次m_multiply =1,n=2,则m_multiply =m_multiply * n以后,m_multiply =2;第三次m_multiply =2,n=3,则m_multiply =m_multiply * n以后,m_multiply =6;第四次m_multiply =6,n=4,则m_multiply =m_multiply * n以后,m_multiply =24;以此类推。

电脑不是人脑,它需要你告诉它怎么做,才能去做你想要的事情,所以才会有这样的语句出现。m_multiply=m_multiply*n 的意思就是 m_multiply和n做乘法,结果为了不多占用一个变量放在了m_multiply内,其实你完全可以放在另外一个变量(设为a)里,下一次用的时候再调用a就是了。